import request from '@/config/axios'

export interface CustomerAddressCreateVO {
  customerAddress: string; // 客户地址（必填）
  cityCode: string;     // 城市编号（必填）
  contactName: string;  // 联系人姓名（必填）
  phoneNumber: number;  // 联系人电话（必填，Java的Long对应TS的number）
  countryCodePrefix: string; // 国家代码前缀（必填）
  isDefault?: number;  // 是否默认（可选）
}
export interface CustomerAddressListVO {
  id: number; // 主键id
  customerAddress: string; // 客户地址
  cityCode: string; // 城市编号
  contactName: string; // 联系人姓名
  phoneNumber: number | null; // 联系人电话（Java的Long对应TS的number）
  countryCodePrefix: string; // 国家代码前缀
  cityName:string;
  isDefault: number; // 是否默认地址（可能为0/1等数值表示）
}

export interface CustomerAddressUpdateVO extends CustomerAddressCreateVO{
  id: number; // 地址ID（必填）
}

// 地址管理接口
export const customerAddressApi = {
  /** 获取地址列表 */
  getList: () => {
    return request.get<CustomerAddressListVO[]>({url:'/customer/address/list'});
  },

  /** 创建地址 */
  create: (createReqVO: CustomerAddressCreateVO) => {
    return request.post( { url: '/customer/address',data:createReqVO });
  },

  /** 更新地址 */
  update: (updateReqVO: CustomerAddressUpdateVO) => {
    return request.put( { url: '/customer/address',data:updateReqVO });
  },

  /** 删除地址 */
  delete: (id: number) => {
    return request.delete({url:`/customer/address/${id}`});
  },

  /** 设置默认地址 */
  setDefault: (id: number) => {
    return request.put({url:`/customer/address/default/${id}`});
  }
};
